<?php
require_once $_SERVER['DOCUMENT_ROOT']."/crc/geral/uteis/imports.php";
require_once $_SERVER['DOCUMENT_ROOT']."/crc/controle/iDispositivoControler.php";
//evitarAcessoExterno(getDescricaoArquivo(),ARQUIVO);

class DispositivoControler implements iDispositivoControler{

	private $dispositivoDao;	

	public function DispositivoControler(){
		require_once $_SERVER['DOCUMENT_ROOT']."/crc/persistencia/dao/DispositivoDao.php";
		$this->dispositivoDao = new DispositivoDao();
	}	
	
	public function desativarDispositivo($id_dispositivo){
		return $this->dispositivoDao->desativarDispositivo($id_dispositivo);
	}
	
	public function cadastrarDispositivo($dispositivo){
		require_once $_SERVER['DOCUMENT_ROOT']."/crc/geral/uteis/imports.php";
		require_once $_SERVER['DOCUMENT_ROOT']."/crc/modelo/Dispositivo.php";

		$novoDispositivo = new Dispositivo();

		$descricao = antiInjection($dispositivo->getDescricao());
		$status = antiInjection($dispositivo->getStatus());
		$qtd_portas = $dispositivo->getQtdPortas();		

		$novoDispositivo->setDescricao($descricao);
		$novoDispositivo->setCasa($dispositivo->getCasa());
		$novoDispositivo->setStatus($status);
		$novoDispositivo->setQtdPortas($qtd_portas);
		
		return $this->dispositivoDao->inserirDispositivo($novoDispositivo);
	}
		
	public function listarDispositivosPorUsuario($id_usuario,$inicio,$fim,$limite,$campo,$valor){
		return $this->dispositivoDao->listarDispositivosPorUsuario($id_usuario,$inicio,$fim,$limite,$campo,$valor);
	}
	
	public function listarDispositivosPorCasa($id_casa){
		return $this->dispositivoDao->listarDispositivosPorCasa($id_casa);
	}
	public function listarDispositivosPorCasaFlex($id_casa,$inicio,$fim,$limite,$campo,$valor){
		return $this->dispositivoDao->listarDispositivosPorCasaFlex($id_casa,$inicio,$fim,$limite,$campo,$valor);
	}
	
	public function listarTodosDispositivos($inicio,$fim,$limite,$campo,$valor){
		return $this->dispositivoDao->listarTodosDispositivos($inicio,$fim,$limite,$campo,$valor);
	}
	
	
	public function excluirDispositivo($id){
		return $this->dispositivoDao->excluirDispositivo($id);
	}
	
	public function consultarDispositivoPorID($id_dispositivo,$id_casa){	
		return $this->dispositivoDao->consultarDispositivoPorID($id_dispositivo, $id_casa);
	}
	
	
	public function alterarDispositivo($dispositivo){
		require_once $_SERVER['DOCUMENT_ROOT']."/crc/geral/uteis/imports.php";
		require_once $_SERVER['DOCUMENT_ROOT']."/crc/modelo/Dispositivo.php";

		$dispositivoAlterado = new Dispositivo();

		$descricao 	= antiInjection(utf8_encode($dispositivo->getDescricao()));		
		$status 	= $dispositivo->getStatus();
		$qtd_portas = $dispositivo->getQtdPortas();
		
		$dispositivoAlterado->setIdDispositivo($dispositivo->getIdDispositivo());
		$dispositivoAlterado->setDescricao($descricao);
		$dispositivoAlterado->setCasa($dispositivo->getCasa());
		$dispositivoAlterado->setStatus($status);
		$dispositivoAlterado->setQtdPortas($qtd_portas);
		
		return $this->dispositivoDao->alterarDispositivo($dispositivoAlterado);
	}

}
?>